package org.dromara.oce.domain.vo;

import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.oce.domain.OceAdvertiserEverydayCost;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 广告主消耗记录视图对象 oce_everyday_cost_hours
 *
 * @author Lion Li
 * @date 2024-12-24
 */
@Data
@AutoMapper(target = OceAdvertiserEverydayCost.class)
public class OceAdvertiserEverydayCostVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 巨量广告主每日消耗记录id
     */
    private Long advertiserCostId;

    /**
     * 推广链接id
     */
    private Long referralLinkId;

    /**
     * 推广链接类型：1-袋鼠；2-番茄；3-点众；4-番茄IAA；5-袋鼠IAA；6-端原生IAP；7-端原生IAA；
     */
    private Integer referralLinkType;

    /**
     * 推广名称
     */
    private String referralLinkName;

    /**
     * 巨量应用平台编码
     */
    private String thirdAdvertiserAppCode;

    /**
     * 第三方广告主id
     */
    private String thirdAdvertiserId;

    /**
     * 第三方广告主名称
     */
    private String thirdAdvertiserName;

    /**
     * 当日时间戳
     */
    private Long thatdayTimestamp;

    /**
     * 当日日期
     */
    private String thatdayDate;

    /**
     * 当日总收入
     */
    private BigDecimal thatdayTotalAmount;

    /**
     * 当日分成金额
     */
    private BigDecimal thatdayDividendAmount;

    /**
     * 当日利润金额=当日分成金额-当日消耗/1.05
     */
    private BigDecimal thatdayProfitAmount;

    /**
     * 当日总支付笔数
     */
    private Long thatdayPaidTotalNum;

    /**
     * 当日付款人数
     */
    private Long thatdayPaidUseNum;

    /**
     * 当日注册用户的总收入
     */
    private BigDecimal thatdayRegisterTotalAmount;

    /**
     * 当日注册用户的分成金额
     */
    private BigDecimal thatdayRegisterDividendAmount;

    /**
     * 当日IAA总收入
     */
    private BigDecimal iaaTotalAmount;

    /**
     * 当日IAA分成金额
     */
    private BigDecimal iaaDividendAmount;

    /**
     * 当日IAA利润金额
     */
    private BigDecimal iaaProfitAmount;

    /**
     * 当日注册用户的IAA总收入
     */
    private BigDecimal iaaRegisterTotalAmount;

    /**
     * 当日注册用户的IAA分成金额
     */
    private BigDecimal iaaRegisterDividendAmount;

    /**
     * 当日注册用户的利润金额
     */
    private BigDecimal thatdayRegisterProfitAmount = BigDecimal.ZERO;

    /**
     * 短剧名称
     */
    private String dramaTitle;

    /**
     * 总消耗
     */
    private BigDecimal cost;

    /**
     * 展示数
     */
    private Long show;

    /**
     * 平均千次展现费用=总花费/展示数*1000
     */
    private BigDecimal avgShowCost;

    /**
     * 点击数
     */
    private Long click;

    /**
     * 平均点击单价=总花费/点击数
     */
    private BigDecimal avgClickCost;

    /**
     * 点击率=点击数/展示数*100%
     */
    private BigDecimal ctr;

    /**
     * 转化数=付费数*回传率
     */
    private Long convert;

    /**
     * 转化成本
     */
    private BigDecimal convertCost;

    /**
     * 转化率=转化数/点击数*100%
     */
    private BigDecimal convertRate;

    /**
     * 激活数
     */
    private Long active;

    /**
     * 激活成本=总消耗/激活数
     */
    private BigDecimal activeCost;

    /**
     * 激活率=激活数/点击数*100%
     */
    private BigDecimal activeRate;

    /**
     * 首次付费数
     */
    private Long activePay;

    /**
     * 首次付费成本=消耗/付费次数
     */
    private BigDecimal activePayCost;

    /**
     * 首次付费率=首次付费数/激活数
     */
    private BigDecimal activePayRate;

    /**
     * 付费次数
     */
    private Long gamePayCount;

    /**
     * 付费成本=消耗/付费次数
     */
    private BigDecimal gamePayCost;

    /**
     * 消耗时速
     */
    private BigDecimal costHoursSpeed;

    /**
     * 投手名称
     */
    private String createName;

    /**
     * 应用类型：1-抖小；3-微小；
     */
    private Long appType;

    /**
     * 部门id
     */
    private Long deptId;

    /**
     * 回本率
     * IAP回本率 = 总分成金额 / 总消耗金额
     * IAA回本率=（总分成金额+广告总分成金额）/ 总消耗金额
     */
    private BigDecimal extRecoveryRate = BigDecimal.ZERO;

    /**
     * 新增回本率
     * 新增回本率 = （总新增分成金额+广告总新增分成金额）/总消耗金额
     */
    private BigDecimal extRegisterRecoveryRate = BigDecimal.ZERO;

    /**
     * 客单价
     * IAP客单价 = 当日充值分成金额 / 付费人数
     * IAA客单价 = 当日广告分成 / 转化数
     */
    private BigDecimal extAvgPrice = BigDecimal.ZERO;

    /**
     * 付费成本
     * IAP付费成本 = 消耗 / 付费人数
     * IAA付费成本 = 消耗 / 激活数
     */
    private BigDecimal extPayCost = BigDecimal.ZERO;

    /**
     * 回传率
     * 回传率 = 转化数 / 当日付款人数
     */
    private BigDecimal returnRate = BigDecimal.ZERO;

    /**
     * 当日LTV
     */
    private BigDecimal attributionMicroGame0dLtv = BigDecimal.ZERO;

    /**
     * 当日广告变现ROI
     */
    private BigDecimal attributionMicroGame0dRoi = BigDecimal.ZERO;


    //商务当日分成金额
    private BigDecimal thatdayDividendAmountSw = BigDecimal.ZERO;
    //商务当日IAA分成金额
    private BigDecimal iaaDividendAmountSw = BigDecimal.ZERO;
    //商务当日利润金额=商务当日分成金额-当日消耗/1.015
    private BigDecimal thatdayProfitAmountSw = BigDecimal.ZERO;

}
